﻿//using Framework.Common.Configs;
//using ServiceStack.CacheAccess;
//using ServiceStack.Redis;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using Framework.Common;

//namespace Framework.Cache.Redis
//{
//    /// <summary>
//    /// 客户端管理
//    /// </summary>
//    class ClientManager
//    {

//        static PooledRedisClientManager _pool;

//        /// <summary>
//        /// redis pool
//        /// </summary>
//        /// <returns></returns>
//        public static PooledRedisClientManager Pool
//        {
//            get
//            {
//                if (_pool == null)
//                {
//                    try
//                    {
//                        RedisConfig config = CustomConfig<RedisConfig>.GetConfig();
//                        _pool = new PooledRedisClientManager(config.ReadWriteHosts, config.ReadOnlyHosts);
//                    }
//                    catch (Exception ex)
//                    {
//                        LogHelper.Fatal(ex.Message, ex);
//                    }
//                }
//                return _pool;
//            }
//        }
//        /// <summary>
//        /// Get Read Only Client
//        /// </summary>
//        /// <returns></returns>
//        public static IRedisClient GetReadOnlyClient()
//        {
//            return Pool.GetReadOnlyClient();
//        }
//        /// <summary>
//        /// Get Read Write Client
//        /// </summary>
//        /// <returns></returns>
//        public static IRedisClient GetReadWriteClient()
//        {
//            return Pool.GetClient();
//        }
//        /// <summary>
//        /// Get Read Only Cache Client
//        /// </summary>
//        /// <returns></returns>
//        public static ICacheClient GetReadOnlyCacheClient()
//        {
//            return Pool.GetReadOnlyCacheClient();
//        }
//        /// <summary>
//        /// Get Read Write Cache Client
//        /// </summary>
//        /// <returns></returns>
//        public static ICacheClient GetReadWriteCacheClient()
//        {
//            return Pool.GetCacheClient();
//        }
//    }
//}
